MeteoPointExport Subroutine

private subroutine MeteoPointExport(time)

Export of point site data

Arguments

Type IntentOptional Attributes Name
type(DateTime), intent(in) :: time

Variables

Type Visibility Attributes Name Initial
integer(kind=short), public :: i

Source Code

SUBROUTINE MeteoPointExport &
!
( time )

IMPLICIT NONE

!Arguments with intent(in):
TYPE (DateTime), INTENT (IN) :: time

!local declarations:
INTEGER (KIND = short) :: i


!-------------------------end of declarations----------------------------------


!precipitation
IF ( dtPrecipitation > 0 ) THEN
    !set current time
    sitesPrecipitation % time = time 
    
    !populate data
    CALL AssignDataFromGrid (precipitationRate, sitesPrecipitation )
    
    !unit conversion m/s -> mm
    DO i = 1, sitesPrecipitation % countObs
        IF ( sitesPrecipitation % obs (i) % value /= &
             sitesPrecipitation % nodata ) THEN
            sitesPrecipitation % obs (i) % value = &
            sitesPrecipitation % obs (i) % value * dtPrecipitation * 1000.
        END IF
    END DO
    
    !write data
    CALL WriteData (sitesPrecipitation, fileUnitPointPrecipitation)

END IF

!air temperature
IF ( dtTemperature > 0 ) THEN
    !set current time
    sitesTemperature % time = time 
    
    !populate data
    CALL AssignDataFromGrid (temperatureAir, sitesTemperature )

    !write data
    CALL WriteData (sitesTemperature, fileUnitPointTemperature)

END IF


!solar radiation
IF ( dtRadiation > 0 ) THEN
    !set current time
    sitesRadiation % time = time 
    
    !populate data
    CALL AssignDataFromGrid ( radiation, sitesRadiation )

    !write data
    CALL WriteData ( sitesRadiation, fileUnitPointRadiation )

END IF

!air relative humidity
IF ( dtRelHumidity > 0 ) THEN
    !set current time
    sitesRH % time = time 
    
    !populate data
    CALL AssignDataFromGrid ( relHumidityAir, sitesRH )

    !write data
    CALL WriteData ( sitesRH, fileUnitPointRH )

END IF

!wind speed
IF ( dtWindSpeed > 0 ) THEN
    !set current time
    sitesWS % time = time 
    
    !populate data
    CALL AssignDataFromGrid ( windSpeed, sitesWS )

    !write data
    CALL WriteData ( sitesWS, fileUnitPointWS )

END IF

RETURN
END SUBROUTINE MeteoPointExport